Several operating system instances also known as virtual machines can run on a single server through virtualization of the physical server architecture. These virtual machines may be referred to as “guest operating systems,” and the servers they are run on may be referred to as “physical servers.” These virtual machines can be moved or migrated across physical servers located in geographically dispersed data centers. However, the migration process often involves a certain amount of downtime for clients accessing a virtual machine during the migration process.
In some systems, storage resources used by the virtual machine can be made available in a shared fashion to all physical servers that represent a target of such migration. Such systems enable the virtual machine to be migrated from one physical server to another without significant downtime for the clients accessing the virtual machine during the migration process. However, storing the virtual machine's storage resources in a shared storage presents several limitations in situations where the physical servers are located in geographically dispersed data centers. For example, the shared storage resource represents a single point of failure in case of a catastrophic system failure or site disaster. Additionally, the shared storage can become a performance bottleneck due to network latency even if the workload is distributed among several physical servers. Further, scheduled maintenance on the shared storage system might require downtime of the physical servers and virtual machine infrastructure.